Commercial database systems rely on caching techniques to improve performance. Caches are often implemented to support memory that can be accessed quickly, such as random access memory (RAM), as opposed to storage that takes longer to access, such as disk-based storage. Caches typically store frequently used data and reduce the time needed by a database system to access a data page.
In general, memory controller access to non-volatile memory devices initiates read or write operations with the assertion of a chip select signal per each read or write transaction request from a bus master. The chunks of data to be read from the memory and used to fill one or more cachelines of the cache may be stored across more than one memory area of the memory, which typically requires issuing separate read commands for each chunk of data to be written into an associated cacheline. The need for multiple read requests to the memory increases the latency and access time to the memory.